home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / OutOfPhase1.1 Source / OutOfPhase Folder / ASTArrayDeclaration.h < prev    next >
Text File  |  1994-05-07  |  2KB  |  51 lines

  1. /* ASTArrayDeclaration.h */
  2.  
  3. #ifndef Included_ASTArrayDeclaration_h
  4. #define Included_ASTArrayDeclaration_h
  5.  
  6. /* ASTArrayDeclaration module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* TrashTracker */
  12. /* Memory */
  13. /* SymbolTableEntry */
  14. /* ASTExpression */
  15. /* PcodeObject */
  16. /* CompilerRoot */
  17.  
  18. #include "PcodeObject.h"
  19. #include "CompilerRoot.h"
  20.  
  21. struct ASTArrayDeclRec;
  22. typedef struct ASTArrayDeclRec ASTArrayDeclRec;
  23.  
  24. /* this module allocates all memory through TrashTracker */
  25.  
  26. /* forwards */
  27. struct TrashTrackRec;
  28. struct SymbolRec;
  29. struct ASTExpressionRec;
  30. struct PcodeRec;
  31.  
  32. /* create a new array variable constructor node.  this should ONLY be used for */
  33. /* creating arrays.  variables that are initialized with an array that results from */
  34. /* an expression should use ASTVariableDeclaration. */
  35. ASTArrayDeclRec*        NewArrayConstruction(struct SymbolRec* SymbolTableEntry,
  36.                                             struct ASTExpressionRec* SizeExpression,
  37.                                             struct TrashTrackRec* TrashTracker, long LineNumber);
  38.  
  39. /* type check the array variable constructor node.  this returns eCompileNoError if */
  40. /* everything is ok, and the appropriate type in *ResultingDataType. */
  41. CompileErrors                TypeCheckArrayConstruction(DataTypes* ResultingDataType,
  42.                                             ASTArrayDeclRec* ArrayConstructor, long* ErrorLineNumber,
  43.                                             struct TrashTrackRec* TrashTracker);
  44.  
  45. /* generate code for array declaration.  returns True if successful, or False if */
  46. /* it fails. */
  47. MyBoolean                        CodeGenArrayConstruction(struct PcodeRec* FuncCode,
  48.                                             long* StackDepthParam, ASTArrayDeclRec* ArrayConstructor);
  49.  
  50. #endif
  51.